您的游戏宝典,关注我!

首页 > 游戏动态 > 枪械射击表现与手感思考 枪械射击视频大全视频

枪械射击表现与手感思考 枪械射击视频大全视频

时间:2026-04-02 10:19:50 作者:admin 来源:本站
摘要:分析造成射击手感多样性的各类机制,枪械射击表现与手感思考 枪械射击视频大全视频

⚠️ 未经作者授权 禁止转载

1.简介

在射击游戏中,最能直观的表现武器射击表现的无疑是关于后坐力的,但在收资料的时候发现网上这些信息是零碎的,切大家更加关注与实力提升挂钩的各项参数。 因此这里尝试分析后坐力的机制,并提供思路给大家作为参考。文章会引用一些经过我修改的游戏DEMO与其他人的视频,他人部分会表明出处。

2.前言

在不同的射击游戏中,游戏会采取不同的开火逻辑,举个例子游戏COD中子弹是绑定在准星上的 大多游戏是子弹绑定在摄像机上,较为硬核的游戏子弹是 诚恳的从枪 出。在COD中GunKick机制在动画层面就可以很好的实现子弹的开火散布,但在CSGO中就需要开火时子弹 有随机来实现散布。而在CS中子弹不跟随准星又是其 特殊的存在。 影响后坐力的 影响很多,不同游戏的Gunplay中表现层面会大有不同,有些游戏可能纯在全部机制,而有些可能只有1到俩个机制来影响游戏的后坐力表现。我们将讨论基于早期《使命召唤》与现代的射击游戏后坐力进行分析。 最后我们需要知道引擎中 路线的坐标系 Pitch(俯仰角) Yaw(偏航角) Roll(翻滚角) 也就是X Y Z,来更好的 领会后坐力机制。

3.后坐力机制

3.1Visual Recoil

Visual Recoil(视觉后坐力)指的是游戏通过相机动画、武器模型摆动、准星震动等方式,制造出一种“仿佛枪在后坐”的感受。它的本质是表现层的反馈设计,而非 诚恳的子弹偏移逻辑。 每当武器被发射时,都会播放一个动画,该动画会“震动”模型,给人一种玩家持有的武器已经后坐力的印象。

3.2 View kick

3.2.1

View kick 是指在射击时,玩家的视角(摄像机 路线)被强制偏移,模拟武器后坐力对射手瞄准点的干扰。与 Visual Recoil(武器模型的视觉反馈)不同,Viewkick 直接 影响于玩家的输入层级:它改变了十字准星或瞄准 路线的位置,从而影响子弹实际落点。
  • ViewKick通常由更改模型的pitch与Yaw来实现。包括但不限于
  • adsViewKickPitchMin/adsViewKickPitchMax(开镜时Pitch偏移 大致)以度/秒为单位
  • adsViewKickYawMin/adsViewKickYawMax(开镜时Yaw偏移 大致)
  • adsViewKickCenterSpeed(速度)
  • hipViewKickPitchMin/hipViewKickPitchMax(腰射时Pitch偏移 大致)
  • hipViewKickYawMin/hipViewKickYawMax(腰射时Yaw偏移 大致)
  • hipViewKickCenterSpeed(速度。通常比ADS低,模拟腰射的不稳定)
以游戏《三角洲行动》举例,理性 情形下视口中心为武器瞄准点,我们画俩条线代表游戏中的Yaw(红色)与Pitch(蓝色)。在执行开火命令时,视口以随机速度进行移动。虽然移动的速度是随机的, 然而程序会确保在adsViewKickYawMin/adsViewKickYawMax的值之间。数值为正,视口往左。数值为负,视口往右。

3.2.2

偏离阶段:在视口移动时,对其施加加速度影响,将准星偏离中心点。此加速度的 大致取决于 adsViewKickCenterSpeed 的值和视口移动的 路线。我们会看到引擎会给朝向V的 路线拉回来, 由于数值会很大, 因此v很快就会被拉停。 回正阶段:结束偏移后,视口需要重新回到原始目标点。此时的回正加速度会比adsViewKickCenterSpeed 小,以早期的COD为例,这个值为adsViewKickCenterSpeed的1/16. 举个更直观的例子。假设adsViewKickYawMin/adsViewKickYawMax为+-20(°/s),adsViewKickCenterSpeed为160°/s²。我们已角速度公式ω=ω0+αt,v会在1/8秒及0.125秒后停止。而偏移回到初始位置的 结局为 θ = ω₀t + ½αt² 。即0.125+0.5=0.625秒。 停止阶段:在进行下一次射击前,视口会回到初始点并消除一切速度的影响。直到下一次射击。 那么在连续射击时会有所不同,视口会在恢复前(及回正 情形开始前或者后,未达到停止)继续添加下一次射击的速度。
  • 如果新的速度指向原始目标点(例如,当视口位于原始目标点的左侧而新速度指向右侧时),则视口的速度将降低到该值的十六分 其中一个。
  • 如果如果新速度远原始目标点(例如,视口位于原始目标点的左侧,而新速度指向左侧),则视口开始以该速度移动。
在现实中,物体在受到新的力之前会继续受之前速度的影响并保持惯性连续。但在ViewKick机制中,旧速度是会被被清空,不会叠加。不会 由于上一枪往左边,下一枪继续更快的往左边。 这基本就是ViekKick机制的核心。Pitch偏移同样取决于adsViewKickPitchMin/adsViewKickPitchMax的 大致。但Pitch的值会明显比Yaw的大,以此来体现后坐力的感觉。 但在同时应用俩个 路线的偏移时, 由于Yaw的数值通常较小,会比Pitch更快的回正。此时应该采用俩个不同且独立的加速度值。 因此可能出现Yaw轴已经回正了 Pitch轴还是回正的 经过。这就需要调整不同的addViewKcikCenterSpeed的值来体现不同的手感。

3.2.3 Pitch与Yaw的限制

在理想情况下,ViewKick会反复执行偏离阶段使得视口持续上跳, 因此我们需要一些保护措施来保证视口不会飞到天上去。在游戏中我们会限制Pitch与Yaw的最大值,使得偏移到达最大值时速度将为0.同样的限制机制也适用于腰射 情形,限制的ViekKick的值可能有所不同。 当然,我们也可以不加以限制。就会如视频所示,视角直接飞上天。

3.3 Gun Kick

3.3.1

枪踢是玩家瞄准标线相对于视口中心位置的扰动,由开火武器产生 。主要体现在武器模型的局部动画或空间偏移,而非直接 影响于玩家的视角或准星位置。注意,不是所有游戏都有GunKick,CS就基本没有这个机制。Gunkick与ViewKick的机制 特别相同,但有不同的数值来影响GunKick的运行。我们从影响GunKick的变量来 领会。
  • hipGunKickReducedKickBullets
  • hipGunKickReducedKickPercent
  • hipGunKickPitchMin/hipGunKickPitchMax
  • hipGunKickYawMin/hipGunKickYawMax
  • hipGunKickAccel
  • hipGunKickSpeedMax
  • hipGunKickSpeedDecay
  • hipGunKickStaticDecay
  • adsGunKickReducedKickBullets
  • adsGunKickReducedKickPercent
  • adsGunKickPitchMin/adsGunKickPitchMax
  • adsGunKickYawMin/adsGunKickYawMax
  • adsGunKickAccel
  • adsGunKickSpeedMax
  • adsGunKickSpeedDecay
  • adsGunKickStaticDecay
  • gunMaxYaw/gunMaxPitch
注:我们在腰射是基本不会考虑GunKick的影响,这是GunKick与Visual Recoil基本相同。此时的腰射数值与Visual Recoil配合来进一步增强射击后坐力的视觉效果。

3.3.2

我们对于GunKick的讨论将再次从Yaw轴开始。 和之前一样,我们会在hipGunKickYawMin/hipGunKickYawMax选取一个随机的速度。在射击超过hipGunKickReducedKickBullets的值后,速度将将减少为由hipGunKickReducedKickPercent确定的百分比(0%-100%)数。此减少适用于所有后续射击,直到单次扳机扣动中发射的射击次数超过 adsGunKickReducedKickBullets。

3.3.3

Gunkick在处理持续偏离的阶段也与ViewKick不同。在ViewKick中新的速度会替代旧速度,以此来改变视口的变化。在Gunkick中新的速度会添加到旧速度中。 例如,如果瞄准标线以每秒 40 度的速度向左移动, 并且选择下一次射击的速度向左移动 20 度,则下一次射击的速度将为每秒向左移动 60 度!如果旧速度和新速度的符号( 路线)相反,速度也可以相互抵消。 GunKick对于停止阶段更为简单。它将不会在经过中心时直接停下,它允许越过中心点偏移另外的 路线。此时加速度相反,确保回到视口中心。

3.3.4

GunKickSpeedMax 是 Gunkick 的另一个方面,它与 Viewkick 不同, 虽然它非常简单。如果射击会导致瞄准标线的总速度超过 adsGunKickSpeedMax,则速度会立即降低到此值。 接着,Gunkick 的其他机制照常接管。 我们从 下面内容三个参数来详细了解GunKick的全 经过。 hipGunKickAccel 在开火后施加到武器模型上,使模型进行偏移。 adsGunKickSpeedDecay 用于模拟在枪甩开后遇到阻力减速的 经过。 adsGunKickStaticDecay在回正 经过中Accel将以adsGunKickSpeedDecay的值来回到原始点的力度。 我们梳理一下,Accel 一个加速度值。在偏移的 经过中受到了SpeedDecay确定的阻力的影响。在完成偏移后,adsGunKickStaticDecay变量将会削弱Accel 的值。 在A阶段偏移受到阻力的影响加速度与速度相反,物体减速(B),C阶段速度为0,偏移结束,此时没有阻力,加速度减小。D E阶段开始回正,此时加速度有速度同 路线但数值更小,加速更慢。F G偏移越过中心,加速度与速度相反并恢复正常,速度听的更快。H 偏移结束,没有阻力 。 I 加速度减小,同 路线 开始加速。之后会再次越过中心开始以正常且相反的加速度开始快速减速,来回摇摆,直到停止。

3.4 Idle Sway/Idle Jitter

3.4.1 Idle Sway

Idle Sway,通常译为“静态晃动”或者“武器摇摆”,是一种视觉机制。但不同于Visual Recoil,Idle Swayu会使模型与瞄准视口围绕起中心点进行周期性、低幅度的摆动,从而改变武器的弹着点。 小编认为‘使命召唤:现代战争》 2024&《战区 ’里面的被广泛使用。《三角洲行动 ’里面的Idle Sway 我们也将再次讨论ads的情况下的Idle Sway,这对于腰射来说没有意义,只会在弹着点上增加更多的不稳定 影响。 Idle Sway可以被视为一种低频、低幅度的周期扰动。以二维简谐振动 影响于Pitch与Yaw。我们可以看在上面的视频明显的看出摇摆的幅度为一个倒着的8。 我们可以用一个方程来描述视口的变化。利萨茹曲线(Lissajous curve)x = A sin(at + φ) y = B sin(bt) 为了方便 领会 我们将方程抽象为带x,y的函数。 x(t)=Ax⋅sin(ωxt+ϕx) y(t)=Ay⋅sin(ωyt+ϕy)其中:
  • x(t): Yaw 偏移(水平偏航)
  • y(t): Pitch 偏移(俯仰角度)
  • Ax, Ay: 摆动最大幅度(决定影响范围)
  • ωx, ωy: 角频率(决定摆动速度)
  • φx, φy: 相位差(决定运动轨迹形状)
当频率比 ωx : ωy = 2 : 1 且相位差 φ = ±π/2 时,相机的运动轨迹呈现为一个椭圆,且该椭圆的长短轴与坐标轴平行。

3.4.2 Idle Jitter

Idle Jitter 是一种非周期性、随机的小幅度表现,在Idle Sway的基础上添加轻微晃动。猜测是通过随机函数 影响于Pitch与Yaw。 如果只有 Idle Sway,玩家可以通过观察“呼吸节奏”来精确抵消漂移;Idle Jitter 的随机扰动让这种补偿变得不完全可靠。而与其他机制配合会有更 诚恳的表现体验。

3.4.3 历代Cod的对于Idle Sway/Idle Jitter的不同

在早期的Cod中 你的Idle Sway只会在你不开枪的时候 影响与准星,而在开枪的一瞬间,后坐力会接替准星的跳动。 而 小编认为‘使命召唤:现代战争 2024》,也就是cod16,武器瞄准晃动只影响第一发子弹,开火后瞄准晃动不再生效。 小编认为‘使命召唤:现代战争 2024》,也就是cod19,武器的瞄准晃动会一直生效,影响子弹的落点。 貌似 小编认为‘使命召唤:黑色行动6》,也就是cod21,在武器的属性中有一项ADS Idle Sway Delay(单位ms)。它用来确定开镜 情形下Idle Sway开始的 时刻。我们可以从 下面内容来个片段来准确的看到数值对于表现的影响。 有ADS Delay 没有ADS Delay 我们可以很明显的看ADS Delay对于射击表现的影响。对于Idle Sway机制,在这套机制的影响下就会衍生出屏息与开镜稳定性的概念。 《使命召唤 ’里面瞄准稳定性对于弹着点的影响

4.其他机制分析

4.1 战地系列的子弹散步机制

小编认为‘战地》系列中,散布机制采用逐帧计算的形式,射击 经过中会产生“扩散增加”,而当玩家停止射击或间隔射击时, 体系则逐渐减少当前散布值。其 特殊之处在于,扩散值的减少 经过并非线性,而是通过一套包含加速度、偏移量和幂次关系的非线性函数来实现。这使得散布恢复曲线呈现近似对数分布的形态,即:在射击刚停止时,扩散会较快减小,但随着 时刻推移,减少的速率逐渐放缓,从而保证了更平滑且符合直觉的体验。
  • Spread exponent:决定扩散减少的加速度
  • Spread offset:每帧扩散减少的固定值
  • Spread coefficient: 价差减小加速度的 Beta 值
  • Spreadₙ = Spreadₙ₋₁ - (1 / SimRate) × [Coef × (Spreadₙ₋₁ - MinSpread)ᴱˣᵖ + Offset]
注:“n”表示当前帧,计算电流扩散,simrate = 战地风云 2042 的 45hz 游戏逻辑循环频率(战地5为60hz) 这套散步机制将扩散曲线会生成一条近似对数分布的扩散曲线。随着持续射击的进行,扩散惩罚逐渐递减。腰射在区域里均与散步,这意味着子弹会均匀分布在扩散锥的整个区域内。

4.2 平滑后坐力

左图中我们只进行单独的视角Yaw轴移动。右图中我们不进行任何操作。 小编认为‘Apex英雄 ’里面,我们发现控制器只要平滑的移动就可以做到抵消垂直后坐力对武器的影响,使得武器在压枪的操作上及其的容易。目前并不熟知重生是 怎样运用这套机制的,但我们可以对比同为Apex的国产竞品《远光84 ’里面并没有运用到这一套机制。(不确定,需要后续更精确的实验)

4.3 首发子弹偏移倍率

《战地风云 2042》引入了一个额外的后坐力 体系,称为初始后坐力倍增器 (IRM)。IRM (如果存在)提供了一组乘数,以按顺序应用于从武器发射的子弹数量等于提供的乘数数量。IRM 可以分别应用于 HRec 和 VRec。 例如,假设 IRM 提供一种武器,后坐力值为 0.5 上,0.15 左,0.2 右,乘数为: VRec = [1.8, 1.5, 1.3, 1.1, 1.0] HRec = [1.2, 1.2, 0.8, 0.8, 1.1] 该武器前五发子弹产生的后坐力为: Up: 0.90, 0.75, 0.65, 0.55, 0.5 Left: 0.18, 0.18, 0.12, 0.12, 0.165 Right: 0.24, 0.24, 0.16, 0.16, 0.22 这五发子弹中的每一种不仅彼此 完美无缺,而且与武器的基本值相比,它们都不同。(并非所有武器都有IRM机制) 同样的 小编认为‘使命召唤 ’里面也存在类似的机制。

5 拓展资料

在逛插件商店的时候发现市面上 杰出且拓展高的Demo与插件 特别之多,但不少名字都为后坐力 体系,点进去一看 一个程序化的开火动画。于是对于后坐力 体系还包括那些机制产生了兴趣,从而写下了这些。 再收集资料的 经过中发现,国外的数据收集网站相比国内还是很完整与成熟的(战地,cod一类)。我们甚至可以详细的对比参数,并了解一些游戏里的计算公式。相比较国内,FPS游戏同样存在数十年,但直到《三角洲行动》上线带来的类cod枪匠机制,玩家才更多的将目光放在了枪械本身的属性对表现与手感的影响。但《三角洲》并没有 特别公开的数据支撑玩家搭建类似的对比平台,时不时的暗改也是 特别的恶心,可能今天枪的手感与明天就截然不同。不过确实,《三角洲 ’里面不少对cod的像素级模仿, 特别的到位,夸一下。

6 参考与引用

【APEX中字】后坐力隐藏机制详解 何故他就没有后座? 后坐力为何抖上天?战区2.0都有哪些改变【老六指南04】COD19后坐力 体系详解丨实用技巧丨实用配件 各射击游戏的武器后坐力测试 到底 何者游戏的后坐力更 诚恳? You NEED To Use This Attachment! New Black Ops 6 Mechanic! Idle Sway Control vs Aiming Gun Steadiness in Modern Wa re! Kicks and Speeds: Recoil In-Depth 数据分析网站: https://sym.gg/legacy/index.html https:// .truegamedata.com//home 游戏DEMO: https:// .fab.com/zh-cn/listings/6a0af880-2b74-480c-a82c-8e597918dffe https:// .fab.com/zh-cn/listings/05dbb53b-d75f-4a08-bcc2-fc02de484866

相关文章

.

游戏动态

热门文章

今日最新